type BizObject = BIZAPI.ProDataRevenueYearEntity & {
  editable?: boolean;
};

const zdList = [
  '植物除臭药剂',
  '次氯酸钠',
  '等效碳源',
  '复合型碳源',
  '葡萄糖',
  '聚氯化铝',
  '七水硫酸亚铁',
  '除磷剂',
  '碱',
  '片碱',
  '液碱',
  '稀硫酸',
  '盐酸',
  '阳离子聚丙烯酰胺(气浮)',
  '阳离子聚丙烯酰胺(脱泥)',
  '双氧水',
  '消泡剂',
  '柠檬酸',
  '膜清洗剂',
  '纳滤阻垢剂',
  '膜清洗剂(酸性)',
  '膜清洗剂(碱性)',
  '洛碛渗滤液非氧化杀菌剂',
  '三氯化铁液体',
  '水费(吨)',
  '(水费)洛碛餐厨污水厂',
  '(水费)洛碛渗滤液污水厂',
  '(水费)黑石子渗滤液污水厂',
  '(水费)界石渗滤液污水厂',
  '(水费)走马渗滤液污水厂',
  '(水费)夏家坝渗滤液污水厂',
  '电费(度)',
  '(电费)洛碛餐厨污水厂',
  '(电费)洛碛渗滤液污水厂',
  '(电费)黑石子渗滤液污水厂',
  '(电费)界石渗滤液污水厂',
  '(电费)走马渗滤液污水厂',
  '(电费)夏家坝渗滤液污水厂',
  '(电费)洛碛原水厂',
  '其他生产费用(日常)',
  '委外污泥运输处置费',
  '污泥热水解处置费',
  '污泥填埋费',
  '取水费'
];

const createMonthlyDataItems = (): Partial<BizObject>[] => {
  const obj: Partial<BizObject>[] = [];
  for (let i = 0; i < 12; i++) {
    obj.push({
      ['target' + (i + 1)]: 0,
      ['amount' + (i + 1)]: 0
    });
  }

  return obj;
};

export const tableSource = (): BizObject[] => {
  const data: BizObject[] = zdList.map((item) => {
    return {
      ...createMonthlyDataItems().reduce((acc, cur) => ({ ...acc, ...cur }), {}),
      category: item,
      year: undefined
    } as BizObject;
  });
  return data;
};
